<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<!--
			1、数组
				概述
					数组是一块连续的内存空间，数组是一个数据的集合。
				创建数组
					var 数组名 = new Array()
					var 数组名 = [元素列表];
				使用数组对象
					数组名[索引下标]
				length属性
					获取数组对象元素的个数(容量)
				常用函数
					push()：向集合的末尾追加一个元素
					pop()：返回并移除集合对象的最后一个元素
					shift()：返回并移除集合对象的第一个元素
					sort()：数组元素排序
					reverse()：数组元素反转
					
				说明：	
					使用Js数组时，索引下标可以超出数组的容量
					
		-->
		
		<script type="text/javascript">
			//1)、创建数组对象(new Array()方式)
			var arr1 = new Array();
			//没有参数时可以省略()
			var arr2 = new Array;
			//可以省略new操作符
			var arr3 = Array();
			//不支持同时省略了new和()的形式
			//var arr4 = Array;
			//当Array()接收了一个整数类型参数时，参数为数组的容量
			var arr5 = new Array(5);
			//当Array()接收多于1个整数类型参数时，参数为数组的元素
			var arr6 = new Array(1,7);
			//当Array()接收一个非整数类型参数时，参数为数组的元素
			var arr7 = new Array('a');
			//当Array()接收一个浮点数类型参数时，将产生语法错误
			//var arr8 = new Array(2.33);
			var arr9 = new Array(2.0);
			
			console.log(typeof arr9 + " = " + arr9 + " ： " + arr9.length)
			
			//2)、创建数组对象(字面量方式)
			//创建一个空数组对象
			var arr01 = [];
			//创建一个具有3个长度的数组对象
			var arr02 = [20,'a',true];
			console.log(typeof arr02 + " | " + arr02.length + " | " + arr02);
			
			//3)、使用数组
			var arr03 = new Array(3);
			//为数组对象进行赋值
			console.log("before:" + arr03);
			arr03[0] = 20;
			arr03[1] =90;
			arr03[1000] = 10001;
			console.log("after:" + arr03);
			
			//4)、栈函数(FILO--First In Last Out)
			arr04 = [];
			console.log("before:" + arr04);
			//向数组内添加元素
			arr04.push(20);
			arr04.push(77);
			arr04.push(90);
			console.log("after:" + arr04);
			
			//返回并移除数组中的一个元素(最后一个)
			v = arr04.pop();
			console.log("v = " + v);
			console.log("pop():" + arr04);
			
			//5)、队列函数(FIFO--First In First Out)
			//返回并移除数组中的一个元素(第一个)
			v = arr04.shift();
			console.log("v = " + v);
			console.log("pop():" + arr04);
		
			
			//6)、sort()方法
			//定义了一个无序的数组对象
			arr05 = [20,4,-7,99,1,0,0,45];
			console.log("before:" + arr05)
			arr05.sort();
			console.log("after:" + arr05)
			
			//7)、reverse()方法
			//对数组对象的元素进行反转
			arr05.reverse();
			console.log("reverse:"+ arr05);
		</script>
	</head>
	<body>
	</body>
</html>
